# -*- coding: utf-8 -*-
'''
#多重继承是指所创建的类同时拥有几个类的属性和方法。
#在类名后面的圆括号可以包含多个父类名，父类名之间用逗号隔开
#使用多重继承需要注意圆括号中父类名字顺序
#若父类当中有相同的方法名，而在类中使用时未指定父类名，
#则python 解析器按照将从左至右的顺序搜索

class A:
    name='A'
    __num=1
    def show(self):
        print(self.name)
        print(self.__num)
    def setnum(self,num):
        self.__num=num

class B:
    nameb='B'
    __numb=2
    def show(self):
        print(self.nameb)
        print(self.__numb)
    def setname(self,name):
        self.nameb=name
        
class C(A,B):#创建多重继承C类
    def showall(self):
        print(self.name)
        print(self.nameb)
        
#实例化
c=C()
c.showall()

c.show()#此处调用的是A类的show()方法

c.setnum(3)#为A类的setnum()方法
c.show()

c.setname('D')#调用setname()方法，即B类的setname()方法
c.showall()

#若在C类中想要使用B类的show()方法，可以按照如下修改
class C(A,B):
    def showall(self):
        print(self.name)
        print(self.nameb)
    show=B.show#这里表面show()方法为B类的方法
c=C()
c.show()#调用show()方法，此处调用的是C类的show()方法
'''

